package pe.com.upc.edu.rtt.registraruser.controller;

import javax.portlet.ActionRequest;
import javax.portlet.ActionResponse;
import javax.portlet.RenderRequest;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.portlet.bind.annotation.ActionMapping;

import pe.com.upc.edu.rtt.registraruser.bean.NuevoUsuarioBean;
import pe.com.upc.edu.rtt.registraruser.service.RegistrarUsuarioService;

import com.liferay.portal.kernel.exception.SystemException;
import com.liferay.portal.kernel.log.Log;
import com.liferay.portal.kernel.log.LogFactoryUtil;
import com.liferay.portal.kernel.util.ParamUtil;
import com.liferay.portal.kernel.util.WebKeys;
import com.liferay.portal.theme.ThemeDisplay;
import com.liferay.util.bridges.mvc.MVCPortlet;

/**
 * Portlet implementation class RegistrarUsuarioController
 */
@Controller
@RequestMapping("VIEW")
public class RegistrarUsuarioController extends MVCPortlet {
 
	private static final Log _log = LogFactoryUtil.getLog(RegistrarUsuarioController.class);
	
	@Autowired
	private RegistrarUsuarioService registrarUsuarioService;
	
	@RequestMapping
	protected String defaultView(Model model, RenderRequest renderRequest) throws SystemException {			
		_log.info("RegistrarUsuarioController nuevo usuario");

		return "view";
	}
	
	@ActionMapping(value="actionRegistrar")
    protected void actionEnviar(ActionRequest request, ActionResponse response) {
		
		ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY);
		String nombres = ParamUtil.getString(request, "nombres");
		String apellidos = ParamUtil.getString(request, "apellido");
		String dni = ParamUtil.getString(request, "dni");
		String correo = ParamUtil.getString(request, "correo");

		NuevoUsuarioBean usuario = new NuevoUsuarioBean();
    	usuario.setNombres(nombres);
    	usuario.setApellidos(apellidos);
    	usuario.setEmail(correo);
    	usuario.setDni(dni);
    	
    	registrarUsuarioService.crearUsuario(usuario, themeDisplay, request);
		response.setRenderParameter("action", "registrado");

    } 
	
	@RequestMapping(params = "action=registrado")
    protected String resultWiev( Model model) {  
    	return "registrado";  
    }  
}
